This invention relates to voice processing and telephony, and more particularly, to a contact center technology which provides more flexible use of agents among a variety of multimedia interactions with customers.
Call centers of widely varying sizes and technologies have become prevalent over the past several years. A call center can range from two or three agents to several hundred agents or even larger. Typical examples of call centers might be a credit card company which is staffed with several hundred agents to handle customer calls, an airline reservation center, etc. A xe2x80x9ccontactxe2x80x9d center is defined herein as a call center except that agent customer interaction is not limited to telephone calls. Rather, agents and customers may interact with each other via e-mail, web chat, or any other media.
Most contact centers include a variety of functions which are well known to those of skill in the art. For example, a contact center may include an integrated voice response (IVR) system, whereby a user may interface with a computer and enter tones and commands to send and receive information. An additional feature which may be implemented in the contact center is a fax on demand (FOD) service. An FOD service is an arrangement whereby a user may telephone into the system and specify through entered digits a particular document and a fax number at which the customer is available. The system will then fax the specified document to the customer. Other exemplary features and functions available in contact centers of the present day include predictive dialing capabilities, outbound calling applications, reporting capabilities, voice mail services, etc.
The contact center is typically staffed with numerous agents, each of which has an associated terminal for voice and data. The agents may be required to interact with customers in particular contact center applications. For example, some agents may interact with callers in order for the agent to handle inbound callers with account questions, while other agents may be required to interact with callers for the purpose of explaining to the customer a new promotion after the customer was contacted via an outbound call. Other potential forms of agent customer interaction could occur by video conferencing, email, web chat, or any other manner that may facilitate or require the agent and the customer to interact.
FIG. 1 shows an exemplary prior art contact center system. The ethernet 106 is utilized to connect a mainframe computer 103 to other peripherals as shown. Agents 109-111 communicate with the PBX 115. Additionally, agents communicate with a predictive dialer 117 for outbound calling, and with a variety of other peripherals as shown. Reporting capabilities are implemented separately for inbound and outbound calls at 104 and 105, respectively, as previously alluded to.
One problem with most modern day contact center equipment is that most or all of the foregoing services are implemented by different vendors, using different hardware and other proprietary technology. Interfacing between these systems is often difficult and cumbersome. For example, contact centers often have different reporting systems for inbound and outbound calls. If, during the course of a reporting period, an agent was involved in both inbound and outbound calling, then two separate reports will be generated for that agent. Any statistics that involve both reports are often arrived at manually, by reviewing both reports. Even if the process is automated, there is no way to generate real time reports for different service types, because there is no centralized reporting capability with real time and continuous access to all relevant data for all different service types. Moreover, since the different service types are all running independently, using different standards and equipment, real time reporting is virtually impossible.
Another drawback of prior art contact center arrangements is that agent terminals are typically configured and allocated for one type of customer agent interaction. For example, an agent terminal may configured to handle only inbound calls, and would be staffed with an agent trained to do the same. Another agent terminal, built and configured by a different vendor, may be limited to outbound calling, and staffed with an agent that is familiar with the one outbound application running at the contact center. For example, in a conventional outbound calling application, the predictive dialer sets up the outbound calls and assigns agents from a pool of those associated with outbound calling applications. Moreover, the outbound application would have no knowledge of, nor any control over, the agents assigned to other contact center functions such as inbound calling. Additionally, agents assigned to handle inbound calls are consolidated into a pool and utilized by the inbound calling applications to allocate the particular incoming calls. The system function of allocating the agents to the incoming calls typically has no knowledge of the agents assigned to outbound calls. Each list of agents is kept in a separate queue, and each is of no use to the other.
The foregoing system architecture is inefficient for the reason that resources available to handle one type of call may not be utilized to handle the other. Thus, during a time of heavy incoming call volume, some outbound agents might be idle while all of the inbound agents are busy and inbound calls are thus being blocked or left on hold for extended periods of time. It would be desirable if one could shift the outbound agents to handle inbound calls and vice versa. Additionally, even if all outbound agents are busy, outbound calling may be less of a priority than inbound calling. Thus, the system resources are sacrificing higher priority tasks to do lower priority tasks.
In some prior systems, an administrator may recognize that the service threshold level for inbound calls is being exceeded, and that callers are therefore left on hold for too long. In such systems, if the inbound calling is overloaded, and calls begin to be blocked, a particular agent may be logged out of a outbound calling application and reallocated to an inbound call application.
One problem with this attempted solution is that system performance must first degrade before a change is made. Moreover, an agent has to be logged out of one application and into another, which also may take some time. The system is not dynamic and does not allow for transparent and full blending. Moreover, if the level of system performance for inbound calls degrades, unless it passes a threshold, outbound calling agents (or agents configured for any other type of customer agent interaction) will not be reallocated to handle inbound calls. This means that an inbound caller may be on hold, while there is an idle agent assigned to some other form of agent customer interaction, yet the two will not be connected simply because the inbound caller has not been on hold long for the system to conclude that performance is lower than the threshold. Moreover, because of the extensive effort required to log the agent out of one application and into another, the caller may hang up before the system can correct the problem.
Yet another problem with such existing technology is that a substantially zero wait time for inbound calls is not possible. This is because to achieve such a substantially zero wait time, agents would have to be idle in order to be available for immediate allocation to an incoming call. There is no way to automatically and immediately begin handling one type of call upon completion of another type of call, all in real time.
There is no ability to dynamically and flexibly allocate agents to different contact center applications, to prevent system degradation. There is no technique to keep the agents logged into different applications and to allocate the agents immediately, as needed, to different applications.
In view of the foregoing, there exists a need in the art for a truly blended and more flexible contact center solution which provides more efficient utilization of the time of all agents.
There is also a need in the art for a contact center that can handle a variety of agent customer interactions (e.g. e-mail, web chat, video conferencing, etc.) while flexibly and dynamically allocating agents from a large single agent pool to handle any type of desired agent customer interaction.
The above and other problems of the prior art are overcome and a technical advance is achieved in accordance with the present invention which relates to a truly blended contact center environment. In accordance with the present invention, one or more agents are always available to perform any of a variety of agent customer interaction, and the agents are allocated dynamically based upon system load. For purposes of explanation herein, we use inbound calling and outbound calling applications as but two examples. It is understood however, that the invention is not limited to inbound and outbound applications, but encompasses other forms of agent customer interaction, such as web chat, e-mail, etc.
In the preferred embodiment, the system manager/supervisory function permits the designation of various agents as desired. This designation may include a centralized list of agents along with a profile for each agent. The profile defines different service types that the agent can implement. The profile represents which types of contacts (e.g. inbound calling, web chat, outbound calling, etc.) that a particular agent may be assigned.
In operation, when an inbound call is received, the system checks the available agents and allocates the call to one of those agents. The agent may be selected from all agents whose profile includes the ability to handle inbound calls. Importantly, agents are not required to reconfigure anything prior to handling a different type of agent customer interaction. Rather, agents stay continuously logged into multiple applications at the same time, and handle whatever type of contact or call is assigned by the supervisory functions of the network.
In other embodiments, an agent profile may provide the capability to process multiple contacts simultaneously, or may include the ability to interrupt one type of contact by putting it on hold to process another type of contact.
Agents may be notified just prior to being assigned a call, with the notification including an identifier of the type of call being assigned to them.